package br.com.projeto.model.persistencia.daos;

import javax.persistence.EntityManager;
import javax.persistence.NoResultException;

import org.hibernate.Hibernate;

import br.com.projeto.model.entities.Usuario;
import br.com.projeto.model.persistencia.DAO;
import br.com.projeto.model.persistencia.EntityManagerHelper;

public class UsuarioDAO extends DAO<Usuario> {
	public UsuarioDAO() {
		super(Usuario.class);
	}

	public Usuario pesquisarPorEmail(String email) {

		EntityManager context = EntityManagerHelper.getEntityManager();

		try {
			Usuario usuario = (Usuario) context.createQuery(
					"from Usuario u where u.email = :param").setParameter(
					"param", email).getSingleResult();
			if (usuario != null) {
				Hibernate.initialize(usuario.getEquipe());
			}

			return usuario;
		} catch (NoResultException e) {
			return null;
		} finally {
			context.close();
		}
	}
	public Usuario pesquisaPorTelefoneMovel(String numeroTelefone){
		EntityManager context = EntityManagerHelper.getEntityManager();
		Usuario usuario=null;
		try{
			usuario = (Usuario) context.createQuery("from Usuario u where u.telefone = :param").setParameter("param", numeroTelefone).getSingleResult();
		} catch (NoResultException e) {
			
		} finally {
			context.close();
		}
		return usuario;
	}
}

